Перейти к основному содержимому
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя
Начало работы

AWS S3

Общее описание

Компонент AWS2 S3 поддерживает хранение и извлечение объектов сервиса Amazon S3 и других S3 совместимых сервисов.

Блок AWS S3 может использоваться в качестве:

  • блока-отправителя

  • блока-получателя.

Настройка блока

В данном разделе описаны параметры блока AWS S3, которые необходимо заполнить при его настройке.

Базовые параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Dynamic EndpointdynamicEndpointДоступен только для блоков-отправителей
Параметр позволяет включить встроенную функциональность динамического определения вызываемой конечной точки. При включении параметра структура блока меняется таким образом, что в коде вместо определения "to" проставляется "toD", а значение самого вызываемого ресурса может собираться из переменной, например ${header.foo}.
FalseЛогическое значение
ConnectionconnectionПозволяет выбрать предсозданное подключение к конечной точке или создать новое с помощью визарда Connection Manager.Список
DescriptiondescriptionОписание блокаСтрока
Bucket Name Or ArnbucketNameOrArnОбязательный параметр
Название контейнера данных (бакета) или идентификатор ресурса в AWS.
Строка
Auto Create BucketautoCreateBucketНастройка автоматического создания бакета в S3 хранилище с именем bucketName. Настройка также будет применяться в случае, если включена опция Move After Read, и при этом будет создан бакет для перемещения destinationBucket, если он еще не существует.FalseЛогическое значение
DelimiterdelimiterРазделитель, который используется в запросе com.amazonaws.services.s3.model.ListObjects для извлечения только определенных объектов.Строка
Force Path StyleforcePathStyleОпределяет должен ли клиент S3 использовать URL-адрес в стиле path вместо URL-адреса в стиле виртуального хостинга.FalseЛогическое значение
Ignore BodyignoreBodyЕсли значение параметра равно True, то тело объекта S3 будет полностью проигнорировано. Если значение параметра равно False, то объект S3 будет помещен в тело.FalseЛогическое значение
Override EndpointoverrideEndpointЗадает переопределение конечной точки. Этот параметр необходимо использовать в сочетании с параметром Uri Endpoint Override.FalseЛогическое значение
Pojo RequestpojoRequestОпределяет будет ли использоваться POJO-запрос в качестве основного или нет.FalseЛогическое значение
PolicypolicyПолитика для очереди, задаваемая в методе com.amazonaws.services.s3.AmazonS3#setBucketPolicy().Строка
PrefixprefixПрефикс, который используется в com.amazonaws.services.s3.model.ListObjects для извлечения только определенных объектов.Строка
RegionregionРегион, в котором должен работать клиент S3. Возможные значения:
  • ap-south-2
  • ap-south-1
  • eu-south-1
  • eu-south-2
  • us-gov-east-1
  • me-central-1
  • il-central-1
  • ca-central-1
  • eu-central-1
  • us-iso-west-1
  • eu-central-2
  • eu-isoe-west-1
  • us-west-1
  • us-west-2
  • af-south-1
  • eu-north-1
  • eu-west-3
  • eu-west-2
  • eu-west-1
  • ap-northeast-3
  • ap-northeast-2
  • ap-northeast-1
  • me-south-1
  • sa-east-1
  • ap-east-1
  • cn-north-1
  • ca-west-1
  • us-gov-west-1
  • ap-southeast-1
  • ap-southeast-2
  • us-iso-east-1
  • ap-southeast-3
  • ap-southeast-4
  • us-east-1
  • us-east-2
  • cn-northwest-1
  • us-isob-east-1
  • aws-global
  • aws-cn-global
  • aws-us-gov-global
  • aws-iso-global
  • aws-iso-b-global
Список
Uri Endpoint OverrideuriEndpointOverrideЗадает переопределяющий uri конечной точки. Этот параметр необходимо использовать в сочетании с параметром Override Endpoint.Строка
Batch Message NumberbatchMessageNumberДоступен только для блоков-отправителей
Количество сообщений, составляющих пакет в режиме потоковой загрузки.
10Целое число
Batch SizebatchSizeДоступен только для блоков-отправителей
Размер пакета (в байтах) в режиме потоковой загрузки.
1000000Целое число
Buffer SizebufferSizeДоступен только для блоков-отправителей
Размер буфера в байтах в режиме потоковой загрузки.
1000000Целое число
Delete After WritedeleteAfterWriteДоступен только для блоков-отправителей
Задает удаление файлового объекта после того, как файл S3 будет загружен.
FalseЛогическое значение
Key NamekeyNameДоступен только для блоков-отправителей
Установка уникального идентификатора для элемента в бакете с помощью параметра endpoint.
Строка
Multi Part UploadmultiPartUploadДоступен только для блоков-отправителей
Если значение параметра равно True, файл будет загружен частями. Размер части определяется параметром Part Size. Частями будут загружаться только файлы, размер которых превышает пороговые значения для размера части. Файлы меньшего размера будут загружены за одну операцию.
FalseЛогическое значение
Naming StrategynamingStrategyДоступен только для блоков-отправителей
Стратегия присвоения имен, используемая в режиме потоковой загрузки. Возможные значения:
  • progressive
  • random
progressiveСписок
OperationoperationДоступен только для блоков-отправителей
Операция, которая будет производиться в случае, если нужно выполнять не только загрузку. Возможные значения:
  • copyObject
  • listObjects
  • deleteObject
  • deleteBucket
  • listBuckets
  • getObject
  • getObjectRange
  • createDownloadLink
Список
Part SizepartSizeДоступен только для блоков-отправителей
Задает размер части, который используется при частичной загрузке, по умолчанию он равен 25 МБ. Минимальный размер в AWS составляет 5 МБ. Частями будут загружаться только файлы, размер которых превышает пороговые значения для размера части. Файлы меньшего размера будут загружены за одну операцию.
26214400Длинное целое число
Restarting PolicyrestartingPolicyДоступен только для блоков-отправителей
Политика перезапуска, используемая в режиме потоковой загрузки. Возможные значения:
  • override
  • lastPart
overrideСписок
Storage ClassstorageClassДоступен только для блоков-отправителей
Класс хранилища, который необходимо задать в запросе com.amazonaws.services.s3.model.PutObjectRequest.
Строка
Streaming Upload ModestreamingUploadModeДоступен только для блоков-отправителей
Когда выбран режим потоковой передачи, загрузка в бакет будет выполняться в потоковом режиме.
FalseЛогическое значение
Streaming Upload TimeoutstreamingUploadTimeoutДоступен только для блоков-отправителей
Если выбран режим потоковой загрузки, то этот параметр устанавливает тайм-аут для завершения загрузки.
Длинное целое число
Delete After ReaddeleteAfterReadДоступен только для блоков-получателей
Удалять объекты из S3 после их извлечения. Удаление выполняется только если Exchange успешно зафиксирован (коммитится). При откате (rollback) объект не удаляется. Если параметр отключен, объекты будут извлекаться при каждом опросе — для фильтрации дубликатов потребуется блок Idempotent Consumer.
trueЛогическое значение
Destination BucketdestinationBucketДоступен только для блоков-получателей
Определяет целевой бакет, куда будет перемещен объект, если включен параметр moveAfterRead.
Строка
Destination Bucket PrefixdestinationBucketPrefixДоступен только для блоков-получателей
Префикс для целевого бакета, который используется при перемещении объекта (если moveAfterRead = true).
Строка
Destination Bucket SuffixdestinationBucketSuffixДоступен только для блоков-получателей
Суффикс для целевого бакета, который используется при перемещении объекта (если moveAfterRead = true).
Строка
Done File NamedoneFileNameДоступен только для блоков-получателей
Если указано, сисетма будет получать файлы только при наличии «done‑файла» (файла-маркера завершения записи).
Строка
File NamefileNameДоступен только для блоков-получателей
Имя файла (ключа объекта), который нужно получить из бакета.
Строка
Include BodyincludeBodyДоступен только для блоков-получателей
Если true, объект S3 будет прочитан и помещен в тело Exchange, после чего поток будет закрыт. Если false, в тело будет помещен сырой поток S3Object, а в заголовки — метаданные объекта. Параметр тесно связан с autocloseBody.
TrueЛогическое значение
Include FoldersincludeFoldersДоступен только для блоков-получателей
Если true, папки/директории будут обрабатываться (для них будут создаваться Exchanges). Если false — они будут игнорироваться.
TrueЛогическое значение
Max ConnectionsmaxConnectionsДоступен только для блоков-получателей
Задает параметр maxConnections в конфигурации клиента S3 — максимальное количество одновременных соединений с сервисом.
60Целое число
Max Messages Per PollmaxMessagesPerPollДоступен только для блоков-получателей
Максимальное количество объектов (сообщений), извлекаемых при каждом опросе бакета. Значение 0 или отрицательное число означает отсутствие ограничения.
10Целое число
Move After ReadmoveAfterReadДоступен только для блоков-получателей
Перемещать объекты из бакета S3 в другой бакет после их извлечения. Для выполнения операции обязательно должен быть задан параметр destinationBucket. Перемещение выполняется только если Exchange успешно зафиксирован (при откате объект не перемещается).
FalseЛогическое значение
Send Empty Message When IdlesendEmptyMessageWhenIdleДоступен только для блоков-получателей
Определяет, следует ли отправлять служебное (пустое) сообщение, если в течение заданного времени не поступило новых данных.
FalseЛогическое значение
Proxy HostproxyHostОпределяет прокси-сервер при создании экземпляра клиента SQS.Строка
Proxy PortproxyPortОпределяет прокси-порт, который будет использоваться в определении клиента.Целое число
Proxy ProtocolproxyProtocolЧтобы определить протокол прокси-сервера при создании экземпляра клиента S3 Возможные значения:
  • HTTP
  • HTTPS
HTTPSСписок
Backoff Error ThresholdbackoffErrorThresholdКоличество последовательно полученных ошибок обработки, после которого включится режим пропуска запусков.Целое число
Backoff Idle ThresholdbackoffIdleThresholdКоличество последовательных запросов, которые не привели к созданию или обработке данных. После достижения установленного количества включится режим пропуска запусков.Целое число
Backoff MultiplierbackoffMultiplierПозволяет обработчику по расписанию включать режим пропуска запусков при достижении числа последовательных пустых запросов/ошибок. Этот параметр определяет количество запусков, которые будут пропущены. Когда используется этот параметр, также необходимо сконфигурировать Backoff Idle Threshold и/или Backoff Error Threshold.Целое число
DelaydelayЗадержка в миллисекундах до следующего запроса.500Длинное целое число
GreedygreedyЕсли значение параметра установлено в True, то Scheduled Poll Consumer запустится сразу же после того как предыдущий запуск обработал одно или несколько сообщений.FalseЛогическое значение
Initial DelayinitialDelayЗадержка в миллисекундах до начала первого запроса.1000Длинное целое число
Repeat CountrepeatCountЗадает максимальное количество срабатываний. Таким образом, если вы установите значение 1, планировщик сработает только один раз. Если вы установите значение 5, он сработает только пять раз. Нулевое или отрицательное значение означает, что срабатывание происходит постоянно.0Длинное целое число
Run Logging LevelrunLoggingLevelУровень логгирования обработчика. Возможные значения:
  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR
  • OFF
TRACEСписок
Scheduled Executor ServicescheduledExecutorServiceПозволяет настроить пользовательский/общий пул потоков для использования потребителем. По умолчанию у каждого потребителя есть свой собственный однопоточный пул потоков.Строка
SchedulerschedulerПланировщик CRON из компонента camel-spring или camel-quartz. Используйте значение spring или quartz для встроенного планировщика.noneСтрока
Scheduler PropertiesschedulerPropertiesМножественное значение. Настройка дополнительных свойств при использовании пользовательского планировщика или любого из планировщиков на основе Quartz и Spring. Это многозначный параметр с префиксом: scheduler.Строка
Start SchedulerstartSchedulerЗадает автоматический запуск планировщика.TrueЛогическое значение
Time UnittimeUnitЕдиница измерения времени для параметров Initial Delay и Delay. Возможные значения:
  • NANOSECONDS
  • MICROSECONDS
  • MILLISECONDS
  • SECONDS
  • MINUTES
  • HOURS
  • DAYS
MILLISECONDSСписок
Use Fixed DelayuseFixedDelayФиксированная задержка или фиксированная частота выполнения.TrueЛогическое значение

Расширенные параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Customer AlgorithmcustomerAlgorithmОпределяет пользовательский алгоритм работы , который будет использоваться в случае, если Use Customer Key включен.Строка
Customer Key IdcustomerKeyIdОпределяет идентификатор клиентского ключа, который будет использоваться в случае, если Use Customer Key включен.Строка
Customer Key MD5customerKeyMD5Определите MD5 клиентского ключа, который будет использоваться в случае, если Use Customer Key включен.Строка
Aws KMSKey IdawsKMSKeyIdДоступен только для блоков-отправителей
Определяет идентификатор ключа KMS, который будет использоваться в случае, если KMS включена.
Строка
Lazy Start ProducerlazyStartProducerДоступен только для блоков-отправителей
Определяет должен ли отправитель стартовать в отложенном режиме (при получении первого сообщения). Отложенный запуск можно использовать в ситуациях, когда запуск отправителя может завершиться неудачей и привести к сбою при запуске маршрута. Если отложить запуск, то сбой при запуске можно будет обработать во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации.
Примечание:
При обработке первого сообщения создание и старт отправителя могут занять некоторое время и увеличить общее время обработки.
FalseЛогическое значение
Auto Close BodyautocloseBodyДоступен только для блоков‑получателей
Если параметр включен (true) и при этом includeBody равен false, метод S3Object.close() будет вызван по завершении обработки Exchange. Если includeBody = false и autocloseBody = false, закрывать поток S3Object должен вызывающий код. Параметр тесно связан с настройкой includeBody.
trueЛогическое значение
Bridge Error HandlerbridgeErrorHandlerДоступен только для блоков‑получателей
Определяет стратегию обработки ошибок на уровне интеграционного моста (bridge) в Bercut ESB. Отвечает за реакцию системы на сбои при передаче сообщений между компонентами. Может включать повторные попытки отправки, перенаправление в очередь ошибок, логирование и т. д. Функция доступна только для тех сторонних компонентов, которые позволяют системе получать уведомления о возникших исключениях. Некоторые компоненты обрабатывают ошибки внутри себя — в таких случаях использование bridgeErrorHandler невозможно.
FalseЛогическое значение
Exception HandlerexceptionHandlerДоступен только для блоков‑получателей
Определяет стратегию обработки исключений на уровне компонента. По умолчанию используется стандартный обработчик org.apache.camel.spi.ExceptionHandler, который логирует ошибки на уровнях WARN или ERROR и игнорирует их. Позволяет настроить кастомную логику обработки (повторные попытки, перенаправление в очередь ошибок и т. д.).
Строка
Exchange PatternexchangePatternДоступен только для блоков‑получателей
Задает шаблон взаимодействия между компонентами в интеграционном потоке. Определяет способ передачи сообщений и ожидания ответа.
Возможные значения:
  • InOnly (однонаправленный вызов: сообщение отправляется, ответ игнорируется).
  • InOut (двунаправленный вызов: ожидается ответ от хранимой процедуры, который будет передан дальше по потоку).
Выбор шаблона влияет на то, как компонент обрабатывает результат выполнения процедуры и передает его следующему шагу потока.
Строка
In Progress RepositoryinProgressRepositoryДоступен только для блоков-получателей
Указывает конкретное место назначения архивных журналов для чтения.
Строка
Poll StrategypollStrategyДоступен только для блоков-получателей
Плагин org.apache.camel.PollingConsumerPollingStrategy позволяет настроить собственную реализацию для управления обработкой ошибок, которые возникают во время операции опроса до создания и маршрутизации обмена в Camel.
Строка
Use Aws KMSuseAwsKMSДоступен только для блоков-отправителей
Определяет нужно ли использовать KMS или нет.
FalseЛогическое значение
Use Customer KeyuseCustomerKeyДоступен только для блоков-отправителей
Определяет должен ли использоваться ключ клиента или нет.
FalseЛогическое значение
Use SSES3useSSES3Доступен только для блоков-отправителей
Определяет должен ли использоваться SSE S3 или нет.
FalseЛогическое значение
Amazon S3 ClientamazonS3ClientСсылка на com.amazonaws.services.s3.AmazonS3 в реестре.Строка
Amazon S3 PresigneramazonS3PresignerАвтоматическое подключение интерфейса S3 Presigner для запроса, используемого в основном при работе с createDownloadLinkСтрока
PatternpatternДоступен только для блоков-отправителей
Устанавливает стиль взаимодействия с присоединенной частью потока.
Возможные значения:
  • InOnly — отправить без подтверждения приемки. При выборе в отправленном yaml и в режиме просмотра кода будет виден параметр pattern на том же уровне, что и uri.
  • InОut — ждать подтверждения после отправки.
Список
DisableddisabledДоступен только для блоков-отправителей
Определяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться.
FalseЛогическое значение

Параметры безопасности

Название в UI Название атрибутаОписаниеЗначение по умолчаниюТип данных
Access Key accessKey Ключ доступа к Amazon AWS. Строка
Profile Credentials Name profileCredentialsName Если используется поставщик учетных данных профиля, то этот параметр задает имя профиля. Строка
Secret Key secretKey Секретный ключ Amazon AWS. Строка
Session Token sessionToken Токен сессии Amazon AWS, используемый, когда пользователю необходимо присвоить роль IAM. Строка
Trust All Certificates trustAllCertificates Задает надо ли доверять всем сертификатам в случае переопределения конечной точки. False Логическое значение
Use Default Credentials Provider useDefaultCredentialsProvider Задает должен ли S3 клиент ожидать загрузки учетных данных через дефолтного поставщика учетных данных. False Логическое значение
Use Profile Credentials Provider useProfileCredentialsProvider Задает должен ли S3 клиент ожидать загрузки учетных данных через поставщика учетных данных профиля. False Логическое значение
Use Session Credentials useSessionCredentials Задает должен ли S3 клиент использовать учетные данные сессии. Это полезно в ситуации, когда пользователю необходимо принять на себя роль IAM для выполнения операций в S3. False Логическое значение